-- 1. 参数列表
local voucherId = ARGV[1]
local userId = ARGV[2]
-- 2. key列表
local stockKey = 'seckill:stock:' .. voucherId
local orderKey = 'seckill:order:' .. voucherId
-- 3. 判断用户是否具备秒杀资格
if tonumber(redis.call('get', stockKey)) <= 0 then
    -- 库存不足
    return 1
end
if redis.call('sismember', orderKey, userId) == 1 then
    -- 用户已经购买
    return 2
end
-- 4. 扣减库存
redis.call('incrby', stockKey, -1)
-- 5. 下单
redis.call('sadd', orderKey, userId)
return 0
